iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 7
0
自我挑戰組

白鬍子老頭30天 Swift Ios系列 第 15

Day(7+8) Lecture 7 -3 ScrollView

  • 分享至 

  • xImage
  •  

ScrollView

ScrollView 可以利用 UIScrollViewDelegate 跟Controller對話

這邊紀錄一下設置的流程
先從StroyBoard拉出ScrollView
http://ithelp.ithome.com.tw/upload/images/20161231/20103833fEQ5L9JzkR.png

首先先宣告個UIImageView

private var imageView = UIImageView()

再來是宣告imageView裡的圖片
get 回傳imageView的圖片
set 設定imageView的圖片 scrowView的內容大小

 private var image : UIImage?{
        get{
            return imageView.image
        }
        set{
            imageView.image = newValue
            imageView.sizeToFit()
            scrowView?.contentSize = imageView.frame.size
        }
    }

將ScrollView與你的Controller做連結,didSet時設定contentSize

    @IBOutlet weak var scrowView: UIScrollView!{
        didSet{
            scrowView.contentSize = imageView.frame.size
        }
    }

再來是image的URL
設置後image會是nil
再重新從網路上取得圖片

var ImageURL: NSURL? {
        didSet{
            image = nil
            fetchImage()
        }
    }
private func fetchImage(){
        if let url = ImageURL{
            if let imageData = NSData(contentsOf: url as URL){
                image = UIImage(data: imageData as Data)
            }
        }
    } 

最後viewDidLoad時
scrollView加入subView
設置url

 override func viewDidLoad() {
        super.viewDidLoad()
        scrowView.addSubview(imageView)
        ImageURL = NSURL(string:  "https://imgur.dcard.tw/beP7nTV.jpg")
        
        // Do any additional setup after loading the view.
    }

還沒完成
要加入entry 在info.plist
App Transport Security Settings -> Allow Arbitrary Loads -> NO to Yes
才能顯示圖片
http://ithelp.ithome.com.tw/upload/images/20161231/20103833cMcTuORik0.png
他可以捲動了今天超累跟這張圖一樣


上一篇
Day(7+7) Lecture 7 -2 Extention Protocol Delegation
下一篇
Day(7+9) Lecture 8-1
系列文
白鬍子老頭30天 Swift Ios30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言